package com.yuzhi.master.sewage.rmstSz.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuzhi.master.sewage.rmstSz.entity.request.LocalDateTimeSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 站点水质数据统计结果VO
 */
@Data
@Schema(description = "站点水质数据统计结果")
public class DrainRmstSzStatisticsVo {

    /**
     * 污水厂ID
     */
    @Schema(description = "污水厂ID")
    private String factId;

    /**
     * 污水厂名称
     */
    @Schema(description = "污水厂名称")
    private String factName;

    /**
     * 测站编码
     */
    @Schema(description = "测站编码")
    private String stcd;

    /**
     * 测站名称
     */
    @Schema(description = "测站名称")
    private String stnm;

    /**
     * 统计日期
     */
    @Schema(description = "统计日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate statisticsDate;

    /**
     * 当天最后一条记录的js_lg值
     */
    @Schema(description = "当天最后一条记录的js_lg值")
    private BigDecimal dailyLastJsLg;

    /**
     * 当天最后一条记录的采集时间
     */
    @Schema(description = "当天最后一条记录的采集时间")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime dailyLastCjTime;

    /**
     * 时间范围内js_lg值的总和
     */
    @Schema(description = "时间范围内js_lg值的总和")
    private BigDecimal totalJsLg;

    /**
     * 统计天数
     */
    @Schema(description = "统计天数")
    private Integer statisticsDays;

    /**
     * 平均每日js_lg值
     */
    @Schema(description = "平均每日js_lg值")
    private BigDecimal avgDailyJsLg;


    /**
     * 最新记录的js_lg值
     */
    @Schema(description = "最新记录的js_lg值")
    private BigDecimal latestJsLg;

    /**
     * 最新记录的采集时间
     */
    @Schema(description = "最新记录的采集时间")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime latestCjTime;

    /**
     * 外键类型
     */
    @Schema(description = "外键类型")
    private Integer factType;
}
